package com.feihong.txgw.ui.fragment.home;

import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;

import com.cjj.MaterialRefreshLayout;
import com.feihong.txgw.shopcar.adapter.ShopCarAdapter;
import com.feihong.txgw.shopcar.adapter.ShopCarRecommendAdapter;
import com.feihong.txgw.shopcar.bean.TerminalEntiyt;
import com.feihong.txgw.ui.activity.base.BaseActivity;

import java.util.List;
import java.util.Map;

/**
 * @author wangziheng
 * @time 2017/6/29  12:12
 * @describe 购物车View实现类
 */

public class ShoppingCartFragment
//        extends BaseFragment implements IShopCarView, View.OnClickListener
{

    private String TAG = "ShoppingCartFragment";
    private static final String NORMAL = "NORMAL";
    private static final String UPDATE = "UPDATE";
    private static final String DEL = "DEL";

    private static final int SHOPCAR_RESULT_OK_CODE = 10;
    /**
     * 跳转到生成订单页的request值
     */
    private static final int SHOPCAR_ORDER_REQUEST_CODE = 1;

    /**
     * 去提交订单时 携带的初订单信息key值
     */
    private static final String SHOPCAR_ORDER_INFO_KEY = "orderInfo";
    private BaseActivity mContext;

//    private ShopCarPresenter mShopCarPresenter;
    /**
     * 标题栏
     */
    private TextView mShopCarTitlt_tv;
    private Button mShopCarEditBtn;
    private ImageButton mMsgBtn;
    /**
     * 购物车不为null  有商品的layout
     */
    private RecyclerView mShopGoodShowView;
    private LinearLayoutManager mLinearLayoutManager;
    private LinearLayoutManager mLinearLayoutManagerRecommend;
    private RelativeLayout mShopCarGoodsShowLayout;
    /**
     * 展示购物车商品时的loading
     */
    private RelativeLayout mShowGoodsLoadLayout;
    private TextView mLoadingTxt;

    /**
     * 结算全选 & 删除全选
     */
    private LinearLayout mAllSelect, mAllDelect;
    /**
     * 全选按钮
     */
    private ImageView mSelectAllAccountIcon, mSelectAllDeleteIcon;
    /**
     * 商品总价
     */
    private TextView mAllMoeny;
    /**
     * 商品结算（下订单）  &  商品删除
     */
    private LinearLayout mGoToAccount;
    private TextView mDelectGoods;

    /**
     * 购物车底部编辑layout
     */
    private RelativeLayout mShopEditLayout, mDeleteLayout, mAccountLayout;
    /**
     * "结算" 全选状态  &  "删除" 全选状态
     */
    private boolean mAllAccountStatus, mAllDeleteStatus;
    /**
     * 选中的商品数量
     */
    private TextView mCheckGoodsCount;

    private RelativeLayout mEditLayoutDivider;
    /**
     * 当前的状态为  "结算" or "编辑删除"
     */
    private boolean isAccount = true;
    /**
     * 选中的item数量
     */
    private int checkGoodsCount = 0;
    /**
     * 购物车适配器
     */
    private ShopCarAdapter mShopCarAdapter;
    /**
     * 空购物车
     */
    private RelativeLayout mShopCarNullLayout;
    private MaterialRefreshLayout mRefreshLayout;
    /**
     * 推荐商品列表
     */
    private RecyclerView mRecommendGoodsRecyclerView;
    /**
     * 推荐商品adapter
     */
    private ShopCarRecommendAdapter mShopCarRecommendAdapter;
    private List<TerminalEntiyt> mRecommendGoods;
    /**
     * 连接服务器失败
     */
    private LinearLayout mConnectErrorLayout;
    private LinearLayout mReQueryDataLL;

    private MaterialRefreshLayout materialRefreshLayout;
    /**
//     * 购物车数据代理集合
//     */
//    private List<DbGoodsCartModel> mGoods;
//    /**
//     * 失效的商品集
//     */
//    private List<DbGoodsCartModel> mFailureGoods;
    /**
     * 选中商品集
     */
    private Map<Integer, Boolean> mCheckMap;
    /**
     * 未失效商品集合
     */
    private Map mNormalGoods;

    public static ShoppingCartFragment newInstance(String tabName) {
        ShoppingCartFragment shoppingCartFragment = new ShoppingCartFragment();
//        shoppingCartFragment.tag = tabName;
        return shoppingCartFragment;
    }

//    @Nullable
//    @Override
//    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
//        fragmentView = inflater.inflate(R.layout.fragment_shoppingcart, container, false);
//        mContext = (BaseActivity) getActivity();
//        mShopCarPresenter = new ShopCarPresenter(this, mContext);
//        mMsgBtn = (ImageButton) fragmentView.findViewById(R.id.img_btn_message);
//        return fragmentView;
//    }
//
//    @Override
//    public void onLazyInitView(@Nullable Bundle savedInstanceState) {
//        super.onLazyInitView(savedInstanceState);
//
//        left = getResources().getDrawable(R.mipmap.shopcar_goods_uncheckselected);
//        right = getResources().getDrawable(R.mipmap.shopcar_goods_checkselected);
//        //绑定View
//        initView();
//
//        //绑定数据
//        bindData();
//    }

//    @Override
//    public void initView() {
//        materialRefreshLayout = (MaterialRefreshLayout) fragmentView.findViewById(R.id.refreshShopCarLayout);
//        mShopCarTitlt_tv = (TextView) fragmentView.findViewById(R.id.txt_title);
//        mShopCarTitlt_tv.setText("购物车");
//        mShowGoodsLoadLayout = (RelativeLayout) fragmentView.findViewById(R.id.lay_loading);
//        mLoadingTxt = (TextView) fragmentView.findViewById(R.id.lay_loading_txt);
//        mLoadingTxt.setTextColor(getResources().getColor(R.color.appRed));
//        mShowGoodsLoadLayout.setVisibility(View.VISIBLE);
//        mShopCarGoodsShowLayout = (RelativeLayout) fragmentView.findViewById(R.id.shopCar_show_layout);
//        mCheckGoodsCount = (TextView) fragmentView.findViewById(R.id.shopCar_Account_goods_count);
//        mShopCarEditBtn = (Button) fragmentView.findViewById(R.id.btn_top_edit);
//        mShopCarEditBtn.setVisibility(View.GONE);
//        mAllDelect = (LinearLayout) fragmentView.findViewById(R.id.shopCar_delete_AllSelect);
//        mAllSelect = (LinearLayout) fragmentView.findViewById(R.id.shopCar_acctount_allSelect);
//        mAllMoeny = (TextView) fragmentView.findViewById(R.id.shopCar_allMoney);
//        mGoToAccount = (LinearLayout) fragmentView.findViewById(R.id.shopCar_goToAccount);
//        mDelectGoods = (TextView) fragmentView.findViewById(R.id.shopCar_delteGoodsBtn);
//        mSelectAllAccountIcon = (ImageView) fragmentView.findViewById(R.id.shopCar_account_allSelect_icon);
//        mSelectAllDeleteIcon = (ImageView) fragmentView.findViewById(R.id.shopCar_delete_allSelect_icon);
//
//        mShopEditLayout = (RelativeLayout) fragmentView.findViewById(R.id.shopCar_EditLayout);
//        mDeleteLayout = (RelativeLayout) fragmentView.findViewById(R.id.shopCar_deleteLayout);
//        mAccountLayout = (RelativeLayout) fragmentView.findViewById(R.id.shopCar_AccountsLayout);
//
//        mEditLayoutDivider = (RelativeLayout) fragmentView.findViewById(R.id.edit_layout_divider);
//
//        mShopCarAdapter = new ShopCarAdapter(mContext);
//        mGoods = new ArrayList<>();
//
//
//        mShopGoodShowView = (RecyclerView) fragmentView.findViewById(R.id.shopCar__Goods_Show);
//        mLinearLayoutManager = new LinearLayoutManager(mContext);
//        mLinearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
//        mShopGoodShowView.setLayoutManager(mLinearLayoutManager);
//
//
//        mShopGoodShowView.setAdapter(mShopCarAdapter);
//        /**
//         * 购物车为空状态
//         */
//        mShopCarNullLayout = (RelativeLayout) fragmentView.findViewById(R.id.shopcar_null_layout);
//        mRecommendGoodsRecyclerView = (RecyclerView) fragmentView.findViewById(R.id.shopCar_recommend_goods);
////        mGoToSelectGoods = (TextView) fragmentView.findViewById(R.id.shopCar_null_go_select_goods);
//        mRefreshLayout = (MaterialRefreshLayout) fragmentView.findViewById(R.id.shopCar_null_layout_refresh);
//        mShopCarRecommendAdapter = new ShopCarRecommendAdapter(mContext);
//        mRecommendGoods = new ArrayList<>();
//        mLinearLayoutManagerRecommend = new LinearLayoutManager(mContext);
//        mLinearLayoutManagerRecommend.setOrientation(LinearLayoutManager.VERTICAL);
////        mGridLayoutManager = new GridLayoutManager(mContext,3);
////        加头处理
////        mGridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
////            @Override
////            public int getSpanSize(int position) {
////                return mShopCarRecommendAdapter.isHeader(position) ? mGridLayoutManager.getSpanCount() : 1;
////            }
////        });
//        mRecommendGoodsRecyclerView.setLayoutManager(mLinearLayoutManagerRecommend);
//        mRecommendGoodsRecyclerView.setNestedScrollingEnabled(false);
//        mRecommendGoodsRecyclerView.getLayoutParams().height = CommonUtils.getScreenHeight(mContext) - CommonUtils.dp2px(mContext, 100);
//        mRecommendGoodsRecyclerView.setAdapter(mShopCarRecommendAdapter);
//        /**
//         * 网络异常
//         */
//        mConnectErrorLayout = (LinearLayout) fragmentView.findViewById(R.id.connect_net_error_layout);
//        mReQueryDataLL = (LinearLayout) fragmentView.findViewById(R.id.re_query_data_layout);
//        mReQueryDataLL.setOnClickListener(this);
//        mConnectErrorLayout.setVisibility(View.GONE);
//        mShopCarGoodsShowLayout.setVisibility(View.GONE);
//    }
//
//    private boolean isRefresh = false;
//    private boolean isRecommendRefresh = false;
//
//    @Override
//    public void bindData() {
//
//        /**
//         * 购物车为空状态下的加载更多
//         */
//        mRefreshLayout.setMaterialRefreshListener(new MaterialRefreshListener() {
//            @Override
//            public void onRefresh(MaterialRefreshLayout materialRefreshLayout) {
//                //如果已登录  那么 带空数据集 请求服务器   如果没有登陆   直接获取本地数据库
//                getShopCarGoodsFromDS(NORMAL, null, null);
//            }
//        });
//
//        /**
//         * 刷新购物车数据
//         */
//        materialRefreshLayout.setMaterialRefreshListener(new MaterialRefreshListener() {
//            @Override
//            public void onRefresh(MaterialRefreshLayout materialRefreshLayout) {
//                isRefresh = true;
//                isRecommendRefresh = true;
//                getShopCarGoodsFromDS(null, null, null);
//            }
//        });
//        /**
//         * 商品单选
//         */
//        mShopCarAdapter.setGoodsSelectListener(new GoodsSelectStatusListener() {
//            @Override
//            public void setGoodsSelectStatusResult(View itemView, int position, boolean isCheck) {
//                if (!isCheck) {
//                    mAllAccountStatus = false;
//                    mAllDeleteStatus = false;
//                    mSelectAllAccountIcon.setImageDrawable(left);
//                    mSelectAllDeleteIcon.setImageDrawable(left);
//                }
//                //选中的商品的数量
//                int i = 0;
//                //失效的商品的数量
//                int j = 0;
//                mGoods.get(position).setCheck(isCheck);
//                for (DbGoodsCartModel dbGoodsCartModel : mGoods) {
//                    if (dbGoodsCartModel.isCheck()) {
//                        i++;
//                    }
//                    if (dbGoodsCartModel.getGoodsStatus() != 1) {
//                        j++;
//                    }
//                }
//                if (i + j == mGoods.size() && mGoods.size() != 0) {
//                    mAllAccountStatus = true;
//                    mAllDeleteStatus = true;
//                    mSelectAllAccountIcon.setImageDrawable(right);
//                    mSelectAllDeleteIcon.setImageDrawable(right);
//                }
//                GoodsCartDBTools.getInstance().updateCart(mGoods.get(position));
//                AccountPrice();
//            }
//        });
//        /**
//         * 编辑按钮
//         */
//        mShopCarEditBtn.setOnClickListener(this);
//
//        mAllSelect.setOnClickListener(this);
//
//        mAllDelect.setOnClickListener(this);
//
//        mGoToAccount.setOnClickListener(this);
//
//        mDelectGoods.setOnClickListener(this);
//
//        mShopCarAdapter.setDelFailureGoodsListener(new ShopCarDelFailureGoodsListener() {
//            @Override
//            public void setOnDelFailureGoodsListener() {
//                mFailureGoods = new ArrayList<DbGoodsCartModel>();
//                for (DbGoodsCartModel dbGoodsCartModel : mGoods) {
//                    if (dbGoodsCartModel.getGoodsStatus() == 0) {
//                        dbGoodsCartModel.setAction("del");
//                        mFailureGoods.add(dbGoodsCartModel);
//                    }
//                }
//                getShopCarGoodsFromDS(DEL, mFailureGoods,  mFailureGoods);
//            }
//        });
//        /**
//         * 商品数量增减
//         */
//        mShopCarAdapter.setGoodsCountChangeListener(new GoodsCountChangeListener() {
//            @Override
//            public void setCountChange(int position, String count, boolean isAdd) {
//                /**
//                 * 如果商品数量小于1  直接退出本次处理
//                 */
//                if (Integer.valueOf(count) < 1) {
//                    if (Integer.valueOf(count) < 0) {
//                        return;
//                    }
//                }
//
//                int resultNum = Integer.valueOf(count);
//                List<DbGoodsCartModel> mEditGoodsList = new ArrayList<DbGoodsCartModel>();
//                DbGoodsCartModel dbGoodsCartModel = mGoods.get(position);
//                if (resultNum - 1 > dbGoodsCartModel.getAllNum()) {
//                    dbGoodsCartModel.setCheck(false);
//                } else {
//                    dbGoodsCartModel.setCheck(true);
//                }
//                dbGoodsCartModel.setGoogdsnum(resultNum);
//                dbGoodsCartModel.setAction("update");
//                mEditGoodsList.add(dbGoodsCartModel);
//                getShopCarGoodsFromDS(UPDATE, mEditGoodsList,mEditGoodsList);
//            }
//        });
//        getShopCarGoodsFromDS(null, null, null);
//    }
//
//    @Override
//    public void onUserLogin(LoginMessage loginMessage) {
//
//        getShopCarGoodsFromDS(NORMAL, new ArrayList<DbGoodsCartModel>(), null);
//    }
//
//    @Override
//    public void setShopCarData(List<DbGoodsCartModel> goods) {
//
//    }
//
//    @Override
//    public void showLoading() {
//        if (mShowGoodsLoadLayout != null) {
//            mShowGoodsLoadLayout.setVisibility(View.VISIBLE);
//        }
//    }
//
//    @Override
//    public void hideLoading() {
//        if (mShowGoodsLoadLayout != null && mRefreshLayout != null && materialRefreshLayout != null) {
//            mShowGoodsLoadLayout.setVisibility(View.GONE);
//            mRefreshLayout.finishRefresh();
//            materialRefreshLayout.finishRefresh();
//        }
//    }
//
//    private Drawable left;
//
//    private Drawable right;
//
//    @Override
//    public void notifyAdapter(List<DbGoodsCartModel> goodsEntities) {
//        int selectNum = 0;
//        if (!UserLoginInfo.isUserLogin() && goodsEntities != null) {
//            Collections.reverse(goodsEntities);
//        }
//        if (mRecommendGoodsRecyclerView == null) {
//            return;
//        }
//        mNormalGoods = new HashMap();
//        mGoods = goodsEntities;
//        // 获取未失效商品集
//        if (mGoods != null) {
//            for (DbGoodsCartModel dbGoodsCartModel : mGoods) {
//                if (dbGoodsCartModel.getGoodsStatus() == 1) {
//                    mNormalGoods.put(dbGoodsCartModel.getGoodsId(), true);
//                    if (dbGoodsCartModel.isCheck()) {
//                        selectNum++;
//                    }
//                }
//            }
//        }
//        // 清除选中商品集中的无效商品
//        if (mCheckMap != null) {
//            if (mGoods == null || mGoods.size() == 0) {
//                mCheckMap.clear();
//            } else {
//                ArrayList<Integer> arrayList = new ArrayList<>();
//                for (DbGoodsCartModel checkGoods : mGoods) {
//                    arrayList.add(checkGoods.getGoodsId());
//                }
//                Iterator<Integer> integerIterator = mCheckMap.keySet().iterator();
//                while (integerIterator.hasNext()) {
//                    Integer goodsID = integerIterator.next();
//                    if (!arrayList.contains(goodsID)) {
//                        integerIterator.remove();
//                        mCheckMap.remove(goodsID);
//                    }
//                }
//            }
//        } else {
//            mCheckMap = new HashMap<>(16);
//        }
//        // 根据选中商品集 将新商品集中的商品设置选中状态
//        if (mCheckMap != null) {
//            for (Integer goodsID : mCheckMap.keySet()) {
//                for (DbGoodsCartModel dbGoodsCartModel : mGoods) {
//                    if (dbGoodsCartModel.getGoodsId() == goodsID) {
//                        LogUtils.i("测试：" + dbGoodsCartModel.toString());
//                        dbGoodsCartModel.setCheck(true);
//                    }
//                }
//            }
//        }
//        /**
//         * 首次进入 有效商品集中有选中状态的商品  但是选中商品集的数量为0  需要根据有效商品集中的商品选中状态的数量判断是否将全选改为选中状态
//         * 非首次进入
//         */
//        if (mGoods != null) {
//            if (mCheckMap.size() < mNormalGoods.size() && mCheckMap.size() != 0) {
//                // 如果选中商品集中的商品数量 < 有效商品集的数量   并且选中商品集的商品数量不为0  则设置全选状态为未选中
//                mAllDeleteStatus = false;
//                mAllAccountStatus = false;
//                mSelectAllAccountIcon.setImageDrawable(left);
//                mSelectAllDeleteIcon.setImageDrawable(left);
//            } else if ((mCheckMap.size() == mNormalGoods.size() && mCheckMap.size() != 0)) {
//                mAllDeleteStatus = true;
//                mAllAccountStatus = true;
//                mSelectAllAccountIcon.setImageDrawable(right);
//                mSelectAllDeleteIcon.setImageDrawable(right);
//            } else if (selectNum == mNormalGoods.size() && mNormalGoods.size() != 0) {
//                mAllDeleteStatus = true;
//                mAllAccountStatus = true;
//                mSelectAllAccountIcon.setImageDrawable(right);
//                mSelectAllDeleteIcon.setImageDrawable(right);
//            } else {
//                mAllDeleteStatus = false;
//                mAllAccountStatus = false;
//                mSelectAllAccountIcon.setImageDrawable(left);
//                mSelectAllDeleteIcon.setImageDrawable(left);
//            }
//        }
//        mConnectErrorLayout.setVisibility(View.GONE);
//
////        mShopCarAdapter.setGoodsList(mGoods);
//
//        hideLoading();
//        AccountPrice();
//        if (mGoods == null || mGoods.size() == 0) {
//            /**  如果购物车没有商品  则
//             * 编辑状态改变
//             */
//            isAccount = true;
//            mShopCarAdapter.setSelectType(isAccount);
//            mDeleteLayout.setVisibility(View.GONE);
//            mAccountLayout.setVisibility(View.VISIBLE);
//            mShopCarEditBtn.setText("编辑");
//
//
//            mShopCarNullLayout.setVisibility(View.VISIBLE);
//
//            mShopCarGoodsShowLayout.setVisibility(View.GONE);
//            mShopEditLayout.setVisibility(View.GONE);
//            mEditLayoutDivider.setVisibility(View.GONE);
//            mShopCarEditBtn.setVisibility(View.GONE);
//            mMsgBtn.setVisibility(View.GONE);
//            getShopCarRecommendGoods();
//        } else {
//            mShopCarNullLayout.setVisibility(View.GONE);
//            mShopCarGoodsShowLayout.setVisibility(View.VISIBLE);
//            mEditLayoutDivider.setVisibility(View.VISIBLE);
//            mShopEditLayout.setVisibility(View.VISIBLE);
//            mShopCarEditBtn.setVisibility(View.VISIBLE);
//            mMsgBtn.setVisibility(View.VISIBLE);
//        }
//    }
//
//    /**
//     * 计算总价
//     * 计算总数量
//     */
//    @Override
//    public void AccountPrice() {
//        // 商品总价 string
//        String strPrice = "0";
//        // 商品总价
//        double price = 0;
//        checkGoodsCount = 0;
//        if (mGoods != null) {
//            for (DbGoodsCartModel goodsEntity : mGoods) {
//                if (goodsEntity.isCheck()) {
//                    NumberFormat currency = NumberFormat.getCurrencyInstance();
////                price += Double.valueOf(Integer.valueOf(goodsEntity.getPrice()) * Integer.valueOf(goodsEntity.getCount()));
//                    BigDecimal a1 = new BigDecimal(String.valueOf(goodsEntity.getGoodsprice()));
//                    BigDecimal a2 = new BigDecimal(String.valueOf(goodsEntity.getGoogdsnum()));
//                    checkGoodsCount += goodsEntity.getGoogdsnum();
//                    BigDecimal result = a1.multiply(a2);
//
//                    BigDecimal one = new BigDecimal("1");
//                    price += result.divide(one, 2, BigDecimal.ROUND_HALF_UP).doubleValue();
//                    DecimalFormat df = new DecimalFormat("######0.00");
//                    strPrice = df.format(price);
//                }
//            }
//        }
//        mCheckGoodsCount.setText("(" + checkGoodsCount + ")");
//        mAllMoeny.setText("¥ " + strPrice);
//
//    }
//
//    @Override
//    public void getShopCarRecommendGoods() {
//        if (!isRecommendRefresh) {
//            showLoading();
//        }
//        isRecommendRefresh = false;
//        mShopCarPresenter.getRecommendGoods();
//    }
//
//    @Override
//    public void setShopCarRecommendGoods(final List<TerminalEntiyt> goodsEntities) {
//        getActivity().runOnUiThread(new Runnable() {
//            @Override
//            public void run() {
//                mShopCarNullLayout.setVisibility(View.VISIBLE);
//                hideLoading();
//                mRecommendGoods = goodsEntities;
//                if (mRecommendGoods != null) {
//                    if (mRecommendGoods.size() == 0) {
//
//                    } else {
//                        mShopCarRecommendAdapter.setGoodArray(mRecommendGoods);
//                    }
//                }
//            }
//        });
//
//    }
//
//    @Override
//    public void showErrorDialog(String failReason) {
//        showErrorDialog(null, failReason);
//    }
//
//    @Override
//    public void showNetErrorLayout() {
//        if (mRefreshLayout != null && materialRefreshLayout != null && mShopCarEditBtn != null && mShopCarNullLayout != null && mShopCarGoodsShowLayout != null && mConnectErrorLayout != null) {
//            mRefreshLayout.finishRefresh();
//            materialRefreshLayout.finishRefresh();
//            mShopCarEditBtn.setVisibility(View.GONE);
//            mShopCarNullLayout.setVisibility(View.GONE);
//            mShopCarGoodsShowLayout.setVisibility(View.GONE);
//            mConnectErrorLayout.setVisibility(View.VISIBLE);
//        }
//    }
//
//    @Override
//    public void setOrderInfo(String orderInfo) {
//    }
//
//    @Override
//    public void onClick(View view) {
//        switch (view.getId()) {
//            case R.id.re_query_data_layout:
//                mConnectErrorLayout.setVisibility(View.GONE);
//                getShopCarGoodsFromDS(NORMAL, null, null);
//                break;
//            case R.id.btn_top_edit:
//                /**
//                 * 右上角编辑
//                 */
//
//                mCheckGoodsCount.setText("(0)");
//                mSelectAllAccountIcon.setImageDrawable(left);
//                mSelectAllDeleteIcon.setImageDrawable(left);
//                DbGoodsCartModel dbGoodsCartModel;
//                for (int i = 0; i < mGoods.size(); i++) {
//                    dbGoodsCartModel = mGoods.get(i);
//                    dbGoodsCartModel.setCheck(false);
//                    boolean result = GoodsCartDBTools.getInstance().updateCart(dbGoodsCartModel);
//                }
//                mAllDeleteStatus = false;
//                mAllAccountStatus = false;
//                mAllMoeny.setText("  0");
//                mShopCarAdapter.setGoodsList(mGoods);
//                if (isAccount) {
//                    isAccount = !isAccount;
//                    mAccountLayout.setVisibility(View.GONE);
//                    mDeleteLayout.setVisibility(View.VISIBLE);
//                    mShopCarEditBtn.setText("完成");
//                } else {
//                    isAccount = !isAccount;
//                    mDeleteLayout.setVisibility(View.GONE);
//                    mAccountLayout.setVisibility(View.VISIBLE);
//                    mShopCarEditBtn.setText("编辑");
//                }
//                mShopCarAdapter.setSelectType(isAccount);
//                break;
//            case R.id.shopCar_acctount_allSelect:
//                /**
//                 * 点击全选
//                 * 计算总价
//                 *      改变状态
//                 *      遍历集合
//                 *      并将集合中所有的item的状态值进行改变
//                 *      刷新适配器
//                 */
//                if (mNormalGoods.size() == 0) {
//                    showErrorToast("请先选择商品");
//                    break;
//                }
//                mAllAccountStatus = !mAllAccountStatus;
//                int clickNum = 0;
//                if (mAllAccountStatus) {
//                    for (int i = 0; i < mGoods.size(); i++) {
//                        /**
//                         * 全选状态
//                         *          如果商品数量小于1 则设为不选中状态
//                         */
//                        if (mGoods.get(i).getGoogdsnum() < 1 || mGoods.get(i).getGoogdsnum() < 1 || mGoods.get(i).getAllNum() < mGoods.get(i).getGoogdsnum() || mGoods.get(i).getGoodsStatus() != 1) {
//                            mGoods.get(i).setCheck(false);
//                        } else {
//                            mGoods.get(i).setCheck(true);
//                            clickNum++;
//                        }
//                        GoodsCartDBTools.getInstance().updateCart(mGoods.get(i));
//                        if (clickNum > 0) {
//                            mSelectAllAccountIcon.setImageDrawable(right);
//                        } else {
//                            showErrorDialog(null, "您购物车的商品库存不足，请去添加新商品");
//                        }
//                    }
//                } else {
//                    mSelectAllAccountIcon.setImageDrawable(left);
//                    for (int i = 0; i < mGoods.size(); i++) {
//                        mGoods.get(i).setCheck(false);
//                        GoodsCartDBTools.getInstance().updateCart(mGoods.get(i));
//                    }
//                }
//                AccountPrice();
////                mShopCarAdapter.setClearData();
//                mShopCarAdapter.setGoodsList(mGoods);
//                break;
//            case R.id.shopCar_delete_AllSelect:
//                /**
//                 * 点击全选
//                 * 删除商品
//                 *      改变状态
//                 *      遍历集合
//                 *      并将集合中所有的item的状态值进行改变
//                 *      刷新适配器
//                 *
//                 */
//                if (mNormalGoods.size() == 0) {
//                    showErrorToast("请先选择商品");
//                    return;
//                }
//                mAllDeleteStatus = !mAllDeleteStatus;
//                if (mAllDeleteStatus) {
//                    mSelectAllDeleteIcon.setImageDrawable(right);
//                    for (int i = 0; i < mGoods.size(); i++) {
//                        mGoods.get(i).setCheck(true);
//                        GoodsCartDBTools.getInstance().updateCart(mGoods.get(i));
//                    }
//                } else {
//                    mSelectAllDeleteIcon.setImageDrawable(left);
//                    for (int i = 0; i < mGoods.size(); i++) {
//                        mGoods.get(i).setCheck(false);
//                        GoodsCartDBTools.getInstance().updateCart(mGoods.get(i));
//                    }
//                }
//                mShopCarAdapter.setGoodsList(mGoods);
//                // 改变选中的状态
//                break;
//            case R.id.shopCar_goToAccount:
//                /**
//                 * 去结算
//                 */
//                if (mNormalGoods.size() == 0) {
//                    showErrorToast("请先选择商品");
//                    return;
//                }
//                if (!isUserLogin()) {
//                    showLoginDialog();
//                    return;
//                }
//                ArrayList<DbGoodsCartModel> mOrderInfo = new ArrayList<>();
//                for (DbGoodsCartModel goodsEntity : mGoods) {
//                    if (goodsEntity.isCheck()) {
//                        mOrderInfo.add(goodsEntity);
//                    }
//                }
//                if (mOrderInfo.size() == 0) {
//                    showSuccessDialog(null, "请先选择要购买的商品");
//
//                    return;
//                }
//                Intent intent = new Intent(getContext(), ToCreateOrderActivity.class);
//                Bundle bundle = new Bundle();
//                bundle.putString(SHOPCAR_ORDER_INFO_KEY, JSON.toJSONString(mOrderInfo));
//                intent.putExtras(bundle);
//                startActivityForResult(intent, SHOPCAR_ORDER_REQUEST_CODE);
//                break;
//            case R.id.shopCar_delteGoodsBtn:
//                /**
//                 * 删除商品
//                 */
//                if (mNormalGoods.size() == 0) {
//                    showErrorToast("请先选择商品");
//                    return;
//                }
//                /**
//                 * 全选状态改变
//                 */
//                mSelectAllDeleteIcon.setImageDrawable(left);
//                mAllDeleteStatus = false;
//
//                ArrayList<DbGoodsCartModel> mDelGoodsList = new ArrayList<>();
//                Iterator iterator = mGoods.iterator();
//                while (iterator.hasNext()) {
//                    DbGoodsCartModel goodEntity = (DbGoodsCartModel) iterator.next();
//                    if (goodEntity.isCheck() && goodEntity.getGoodsStatus() == 1) {
//                        goodEntity.setAction("del");
//                        mDelGoodsList.add(goodEntity);
//                    }
//                }
//                getShopCarGoodsFromDS(DEL, mDelGoodsList, mDelGoodsList);
//                break;
//            default:
//                break;
//        }
//    }
//
//    @Override
//    public void onActivityResult(int requestCode, int resultCode, Intent data) {
//        super.onActivityResult(requestCode, resultCode, data);
//        if (data == null) {
//            return;
//        }
//        // 暂无调用
//        if (resultCode == SHOPCAR_RESULT_OK_CODE) {
//            if (requestCode == SHOPCAR_ORDER_REQUEST_CODE) {
//                mShopCarPresenter.editShopCarGoodsToService(NORMAL, null);
//                getShopCarGoodsFromDS(NORMAL, null, null);
//            }
//        }
//    }
//
//    @Override
//    public boolean onBackPressedSupport() {
//        if (getActivity() instanceof MyShopCartActivity) {
//            return super.onBackPressedSupport();
//        }
//        if (mShowGoodsLoadLayout != null && mShowGoodsLoadLayout.getVisibility() == View.VISIBLE) {
//            return false;
//        }
//        return true;
//    }
//
//
//    /**
//     * 本地数据库购物车商品集
//     */
//    @Override
//    public void onResume() {
//        super.onResume();
//        if (mAllSelect != null && mAllDelect != null) {
//        }
//        // 如果是从生产订单成功界面返回  并且已经生产订单成功 则需要刷新获取购物车数据
//        if (PreferenceTools.getBoolean("orderIsSuccess", false)) {
//            PreferenceTools.putBoolean("orderIsSuccess", false);
//            if (mShopCarPresenter != null) {
//                getShopCarGoodsFromDS(NORMAL, null, null);
//            }
//        }
//    }
//
//    /**
//     * 获取、刷新购物车数据入口
//     */
//
//    /**
//     * @param editType               操作数据库的类型  NOMAL  || NULL  正常获取服务器数据   UPDATA 修改数据库商品数量   DEL  删除商品
//     *                               用来判断 连接服务器异常之后   如果为NOMAL || NULL 则从数据库获取商品  并展示  如果 为UPDATA || DEL 则提示 连接服务器异常
//     * @param updateToServiceData    需要同步到服务器的商品集
//     * @param updateToLocalData      同步到本地数据库的商品集
//     */
//    public void getShopCarGoodsFromDS(String editType, List<DbGoodsCartModel> updateToServiceData, List<DbGoodsCartModel> updateToLocalData) {
//        /**
//         *      如果已登录
//         *              获取本地数据库数据  (并获取更新标识--已处理) 如果已更新到服务器 则从服务器获取数据  如果未更新 则 更新到服务器
//         *      如果未登录 则从本地数据库获取商品
//         *
//         */
//        saveSelectGoodsID(mGoods);
//
//        if (isUserLogin()) {
//            if (!isRefresh) {
//                showLoading();
//            }
//            isRefresh = false;
//            if (updateToServiceData != null) {
//                // 如果需要将本地数据同步到服务器（只适用于购物车的商品数量的变化   以及商品的删除 ）
//                List<DbGoodsCartModel> data = new ArrayList<>();
////                data.addAll(mGoods);
//                data.addAll(updateToServiceData);
//                if(mGoods == null){
//                    mGoods = GoodsCartDBTools.getInstance().getAllCartGoods();
//                    if(mGoods == null){
//                        mGoods = new ArrayList<>();
//                    }
//                }
//                for(DbGoodsCartModel dbGoodsCartModel : mGoods){
//                    if(!data.contains(dbGoodsCartModel)){
//                        data.add(dbGoodsCartModel);
//                    }
//                }
//                Iterator iterator = data.iterator();
//                while (iterator.hasNext()) {
//                    DbGoodsCartModel dbGoodsCartModel = (DbGoodsCartModel) iterator.next();
//                    // 筛选掉action为空的数据
//                    if (TextUtils.isEmpty(dbGoodsCartModel.getAction())) {
//                        iterator.remove();
//                    }
//                }
//                mShopCarPresenter.editShopCarGoodsToService(editType, data);
//            } else {
//                // 如果不需要 则直接获取服务端数据
//                mShopCarPresenter.editShopCarGoodsToService(editType, null);
//            }
//        } else { // 如果没有登陆
//            if (updateToLocalData != null) {
//                // 修改购物车数据  则
//                mShopCarPresenter.editShopCarGoodsToLocal(editType, updateToLocalData);
//            } else {
//                // 只适用于单纯获取本地购物数据 并展示
//                mShopCarPresenter.getShopCarGoodsFromLocal();
//            }
//        }
//    }
//
//    /**
//     * 同步服务器前的数据   如果有选中的则将选中的商品id保存下来
//     */
//    private void saveSelectGoodsID(List<DbGoodsCartModel> mSelectGoods) {
//        if (mSelectGoods != null) {
//            if (mCheckMap == null) {
//                mCheckMap = new HashMap<>();
//            }
//            mCheckMap.clear();
//            for (DbGoodsCartModel dbGoodsCartModel : mSelectGoods) {
//                if (dbGoodsCartModel.isCheck()) {
//                    mCheckMap.put(dbGoodsCartModel.getGoodsId(), true);
//                }
//            }
//        }
//    }
//
//    /**
//     * 终端列表页添加购物车成功之后   获取本地数据集  刷新界面
//     *
//     * @param updateCartMessage
//     */
//    @Subscribe(threadMode = ThreadMode.POSTING)
//    public void onEditAdr(UpdateCartMessage updateCartMessage) {
//        // 同步服务器前的数据   如果有选中的则 将选中的商品id保存下来
//        saveSelectGoodsID(mGoods);
//        mShopCarPresenter.getShopCarGoodsFromLocal();
//    }
//
//    @Subscribe(threadMode = ThreadMode.MAIN)
//    public void refreshMsgIcon(RefreshMsgIconMessage refreshMsgIconMessage) {
//        if (refreshMsgIconMessage.isHaveNewMsg()) {
//            // 如果有未读消息
//            mMsgBtn.setImageResource(R.mipmap.unread_msg);
//        } else {
//            // 如果没有未读消息
//            mMsgBtn.setImageResource(R.mipmap.message_normal_icon);
//        }
//    }
}
